#ifndef __myfunc__
#define __myfunc__

void SetSegnum0() {
  if (set == 0) {
    segmet0::show0();
  } else if (set == 1) {
    segmet1::show0();
  } else if (set == 2) {
    segmet2::show0();
  } else if (set == 3) {
    segmet3::show0();
  }
}

void SetSegnum1() {
  if (set == 0) {
    segmet0::show1();
  } else if (set == 1) {
    segmet1::show1();
  } else if (set == 2) {
    segmet2::show1();
  } else if (set == 3) {
    segmet3::show1();
  }
}

void SetSegnum2() {
  if (set == 0) {
    segmet0::show2();
  } else if (set == 1) {
    segmet1::show2();
  } else if (set == 2) {
    segmet2::show2();
  } else if (set == 3) {
    segmet3::show2();
  }
}

void SetSegnum3() {
  if (set == 0) {
    segmet0::show3();
  } else if (set == 1) {
    segmet1::show3();
  } else if (set == 2) {
    segmet2::show3();
  } else if (set == 3) {
    segmet3::show3();
  }
}

void SetSegnum4() {
  if (set == 0) {
    segmet0::show4();
  } else if (set == 1) {
    segmet1::show4();
  } else if (set == 2) {
    segmet2::show4();
  } else if (set == 3) {
    segmet3::show4();
  }
}

void SetSegnum5() {
  if (set == 0) {
    segmet0::show5();
  } else if (set == 1) {
    segmet1::show5();
  } else if (set == 2) {
    segmet2::show5();
  } else if (set == 3) {
    segmet3::show5();
  }
}

void SetSegnum6() {
  if (set == 0) {
    segmet0::show6();
  } else if (set == 1) {
    segmet1::show6();
  } else if (set == 2) {
    segmet2::show6();
  } else if (set == 3) {
    segmet3::show6();
  }
}

void SetSegnum7() {
  if (set == 0) {
    segmet0::show7();
  } else if (set == 1) {
    segmet1::show7();
  } else if (set == 2) {
    segmet2::show7();
  } else if (set == 3) {
    segmet3::show7();
  }
}

void SetSegnum8() {
  if (set == 0) {
    segmet0::show8();
  } else if (set == 1) {
    segmet1::show8();
  } else if (set == 2) {
    segmet2::show8();
  } else if (set == 3) {
    segmet3::show8();
  }
}

void SetSegnum9() {
  if (set == 0) {
    segmet0::show9();
  } else if (set == 1) {
    segmet1::show9();
  } else if (set == 2) {
    segmet2::show9();
  } else if (set == 3) {
    segmet3::show9();
  }
}

void SetSegmo(uint8_t seg, uint8_t set) {
  if (set == 0) {
    segmet0::showmo(seg);
  } else if (set == 1) {
    segmet1::showmo(seg);
  } else if (set == 2) {
    segmet2::showmo(seg);
  } else if (set == 3) {
    segmet3::showmo(seg);
  }
}

void SetSegtx() {
  segmet0::showtx();
  segmet1::showtx();
  segmet2::showtx();
  segmet3::showtx();
}

void SetSeghx() {
  segmet0::showhx();
  segmet1::showhx();
  segmet2::showhx();
  segmet3::showhx();
}

void SetSegmo_0(uint8_t seg_b) {
  if (r0) {
    if (!bitRead(SEG00, 1 + seg_b)) {
      bitSet(SEG00, 1 + seg_b);
    } else {
      bitClear(SEG00, 1 + seg_b);
    }
  } else {
    if (!bitRead(SEG00, 7 - seg_b)) {
      bitSet(SEG00, 7 - seg_b);
    } else {
      bitClear(SEG00, 7 - seg_b);
    }
  }
  segmet0::getsvar();
  segmet0::show8();
}

void SetSegmo_1(uint8_t seg_b) {
  if (r1) {
    if (!bitRead(SEG01, 1 + seg_b)) {
      bitSet(SEG01, 1 + seg_b);
    } else {
      bitClear(SEG01, 1 + seg_b);
    }
  } else {
    if (!bitRead(SEG01, 7 - seg_b)) {
      bitSet(SEG01, 7 - seg_b);
    } else {
      bitClear(SEG01, 7 - seg_b);
    }
  }
  segmet1::getsvar();
  segmet1::show8();
}

void SetSegmo_2(uint8_t seg_b) {
  if (r2) {
    if (!bitRead(SEG02, 1 + seg_b)) {
      bitSet(SEG02, 1 + seg_b);
    } else {
      bitClear(SEG02, 1 + seg_b);
    }
  } else {
    if (!bitRead(SEG02, 7 - seg_b)) {
      bitSet(SEG02, 7 - seg_b);
    } else {
      bitClear(SEG02, 7 - seg_b);
    }
  }
  segmet2::getsvar();
  segmet2::show8();
}

void SetSegmo_3(uint8_t seg_b) {
  if (r3) {
    if (!bitRead(SEG03, 1 + seg_b)) {
      bitSet(SEG03, 1 + seg_b);
    } else {
      bitClear(SEG03, 1 + seg_b);
    }
  } else {
    if (!bitRead(SEG03, 7 - seg_b)) {
      bitSet(SEG03, 7 - seg_b);
    } else {
      bitClear(SEG03, 7 - seg_b);
    }
  }
  segmet3::getsvar();
  segmet3::show8();
}

#endif